# Linux plcboot Makefile
#
# Copyright (C) 2015, Broadcom Corporation. All Rights Reserved.
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

ifeq "$(ROOTDIR)" ""
export ROOTDIR=$(shell while true; do if [ -f BaseVar.mk ]; then pwd;exit; else cd ..;fi;done;)
endif
include $(ROOTDIR)/.config

#CFLAGS	+= -I. -I$(TOP)/shared -I$(SRCBASE)/include ${WLAN_StdIncPathA} -I$(SRCBASE)/../components/shared -I$(SRCBASE)/common/include -Wall -Werror
CFLAGS += -I$(CURDIR)/../../../bcmdriver/include -I$(CURDIR)/../../../bcmdriver/include/shared  -I$(BUILDDIR)/vendor/broadcom/shared -I$(BUILDDIR) -I$(ROOTDIR)/src/include
#CFLAGS	+= -g -DDEBUG
CFLAGS	+= -s -O2
#LDFLAGS += -L$(BUILDDIR)/vendor/broadcom/nvram -lnvram
#LDFLAGS += -L$(TOP)/nvram -L$(INSTALLDIR)/nvram/usr/lib -lnvram
#LDFLAGS += -L$(BUILDDIR)/vendor/broadcom/shared -lshared
#LDFLAGS += -L$(TOP)/shared -L$(INSTALLDIR)/shared/usr/lib -lshared
LDFLAGS += $(EXTRA_LDFLAGS)

FW_IMG          = 60333_fw_upgrade_ethboot.bin
UCODE_IMG       = 60333_bin_upgrade_ethboot.bin
PARAMCONFIG_IMG = 60333_paramconfig_ethboot.bin
PARAMCONFIG_EN_IMG = 60333_paramconfig_ethboot_en.bin
PARAMCONFIG_AU_IMG = 60333_paramconfig_ethboot_au.bin
PARAMCONFIG_CSV = 60333_paramconfig_ethboot.csv

vpath %.c $(SRCBASE)/shared/

#all: plcboot

#OBJS = plcboot.o

install:  
	$(Q)cp plcboot $(FSROOT)/usr/sbin
	mkdir -p $(FSROOT)/etc/plcboot
	$(STRIP) $(FSROOT)/usr/sbin/plcboot
#	$(Q)cp -f $(FW_IMG) $(FSROOT)/etc/plcboot/fw.bin
	$(Q)cp -f $(FW_IMG) $(BUILDDIR)/romfs/fw.bin
#	$(Q)cp -f $(UCODE_IMG) $(FSROOT)/etc/plcboot/ucode.bin
	$(Q)cp -f $(UCODE_IMG) $(BUILDDIR)/romfs/ucode.bin
	$(Q)cp -f $(PARAMCONFIG_IMG) $(FSROOT)/etc/plcboot/paramconfig.bin
	$(Q)cp -f $(PARAMCONFIG_IMG) $(BUILDDIR)/romfs/paramconfig.bin
	$(Q)cp -f $(PARAMCONFIG_EN_IMG) $(FSROOT)/etc/plcboot/paramconfig_en.bin
	$(Q)cp -f $(PARAMCONFIG_AU_IMG) $(FSROOT)/etc/plcboot/paramconfig_au.bin
	$(Q)cp -f $(PARAMCONFIG_CSV) $(FSROOT)/etc/plcboot/paramconfig.csv

check_bin:
	if [ ! -s $(FW_IMG) ]; then echo "$(FW_IMG) not found in main/components/router/plcboot. Please, put PLC FW files here"; exit 1; fi;
	if [ ! -s $(UCODE_IMG) ]; then echo "$(UCODE_IMG) not found in main/components/router/plcboot. Please, put PLC FW files here"; exit 1; fi;
	if [ ! -s $(PARAMCONFIG_IMG) ]; then echo "$(PARAMCONFIG_IMG) not found in main/components/router/plcboot. Please, put PLC FW files here"; exit 1; fi;
	if [ ! -s $(PARAMCONFIG_CSV) ]; then echo "$(PARAMCONFIG_CSV) not found in main/components/router/plcboot. Please, put PLC FW files here"; exit 1; fi;

clean:
#	rm -f *.o *.a *.so plcboot

.PHONY: check_bin

#${OBJS}:
#
#plcboot: plcboot.o ${OBJS}
#	$(CC) $(CFLAGS) $^ -o $@  $(LDFLAGS)
